home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1191 / 1191.xpi / chrome / reminderfox.jar / content / reminderfox / editing / repeatDialog.js < prev    next >
Encoding:
Text File  |  2009-11-25  |  10.2 KB  |  268 lines

  1. function updateRepeatLength() {
  2.     var repeatIndex = document.getElementById("repeatLength").selectedIndex;
  3.     if ( repeatIndex == 1 ) {
  4.         var dateItem = document.getElementById("monthlist");
  5.         dateItem.removeAttribute("disabled");
  6.         
  7.         dateItem = document.getElementById("daylist");
  8.         dateItem.removeAttribute("disabled")
  9.         
  10.         dateItem = document.getElementById("yearlist");
  11.         dateItem.removeAttribute("disabled")
  12.     }
  13.     else {
  14.         var dateItem = document.getElementById("monthlist");
  15.         dateItem.setAttribute("disabled", "true");    
  16.         
  17.         dateItem = document.getElementById("daylist");
  18.         dateItem.setAttribute("disabled", "true");    
  19.         
  20.         dateItem = document.getElementById("yearlist");
  21.         dateItem.setAttribute("disabled", "true");    
  22.     }
  23. }
  24.  
  25. function loadRepeat( ) {
  26.     var reminderEvent = window.arguments[0].reminderfoxEvent;
  27.     var currentDate = window.arguments[0].currentDate;
  28.     if ( currentDate == null ) {
  29.         currentDate = reminderEvent.date;
  30.     }
  31.     if ( reminderEvent.recurrence.endDate != null ) {
  32.         document.getElementById("repeatLength").selectedIndex = 1;
  33.         reminderFox_optionsSetNewReminderDate( reminderEvent.recurrence.endDate, true );
  34.         reminderFox_optionsPopulateYearList(reminderEvent.recurrence.endDate  );
  35.     }
  36.     else {
  37.         var endDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate() + 1 );    
  38.         reminderFox_optionsSetNewReminderDate( endDate, true );
  39.         reminderFox_optionsPopulateYearList(endDate);                
  40.     }
  41.     updateRepeatingList(currentDate, reminderEvent, true);
  42.     updateRepeatLength();
  43.     
  44.     
  45.     // set recurrence interval
  46.         var repeatList = document.getElementById("reminderFox-repeatList");    
  47.         if ( reminderEvent.recurrence.type  == REMINDER_RECURRENCE_YEARLY ) {
  48.                 repeatList.selectedIndex = 0;
  49.                 if ( reminderEvent.recurrence.interval != null ) {
  50.                      document.getElementById("yearsText").setAttribute( "value", reminderEvent.recurrence.interval);
  51.                 }        
  52.                 
  53.             }
  54.             else if ( reminderEvent.recurrence.type  == REMINDER_RECURRENCE_YEARLY_DAY ) {
  55.                 repeatList.selectedIndex = 1;
  56.                 if ( reminderEvent.recurrence.interval != null ) {
  57.                      document.getElementById("yearsText").setAttribute( "value", reminderEvent.recurrence.interval);
  58.                 }    
  59.             }        
  60.             else     if ( reminderEvent.recurrence.type  == REMINDER_RECURRENCE_MONTHLY_DATE ) {
  61.                 repeatList.selectedIndex = 2;
  62.                 if ( reminderEvent.recurrence.interval != null ) {
  63.                      document.getElementById("monthsText").setAttribute( "value", reminderEvent.recurrence.interval);
  64.                 }    
  65.             }
  66.             else if ( reminderEvent.recurrence.type  == REMINDER_RECURRENCE_MONTHLY_DAY ) {
  67.                 repeatList.selectedIndex = 3;
  68.                 if ( reminderEvent.recurrence.interval != null ) {
  69.                      document.getElementById("monthsText").setAttribute( "value", reminderEvent.recurrence.interval);
  70.                 }    
  71.             }
  72.             else    if ( reminderEvent.recurrence.type  == REMINDER_RECURRENCE_WEEKLY ) {        
  73.                 repeatList.selectedIndex = 4;
  74.                 if ( reminderEvent.recurrence.interval != null ) {
  75.                      if ( reminderEvent.recurrence.interval == 2 ) { // bi-weekly
  76.                          repeatList.selectedIndex = 5;
  77.                      }
  78.                      document.getElementById("weeksText").setAttribute( "value", reminderEvent.recurrence.interval);
  79.                 }    
  80.                 
  81.                 var byday =  reminderEvent.recurrence.byDay;
  82.                 if (byday == null || byday.length == 0 ) {
  83.                     byday = reminderFox_weekday[currentDate.getDay()] 
  84.                 }
  85.                 if ( byday.indexOf( "SU" ) != -1 ) {
  86.                     document.getElementById("weekly-sun").setAttribute("checked", true);
  87.                 }
  88.                 if ( byday.indexOf( "MO" ) != -1 ) {
  89.                     document.getElementById("weekly-mon").setAttribute("checked", true);
  90.                 }
  91.                 if ( byday.indexOf( "TU" ) != -1 ) {
  92.                     document.getElementById("weekly-tue").setAttribute("checked", true);
  93.                 }
  94.                 if ( byday.indexOf( "WE" ) != -1 ) {
  95.                     document.getElementById("weekly-wed").setAttribute("checked", true);
  96.                 }
  97.                 if ( byday.indexOf( "TH" ) != -1 ) {
  98.                     document.getElementById("weekly-thu").setAttribute("checked", true);
  99.                 }
  100.                 if ( byday.indexOf( "FR" ) != -1 ) {
  101.                     document.getElementById("weekly-fri").setAttribute("checked", true);
  102.                 }
  103.                 if ( byday.indexOf( "SA" ) != -1 ) {
  104.                     document.getElementById("weekly-sat").setAttribute("checked", true);
  105.                 }
  106.                 
  107.             }            
  108.             else    if ( reminderEvent.recurrence.type  == REMINDER_RECURRENCE_DAILY ) {        
  109.                 repeatList.selectedIndex = 6;
  110.                 if ( reminderEvent.recurrence.interval != null ) {
  111.                      document.getElementById("daysText").setAttribute( "value", reminderEvent.recurrence.interval);
  112.                 }    
  113.             }
  114.     
  115.     repeatChanged();
  116.     
  117.     // remove 'custom' item
  118.     document.getElementById("repeat-sep").setAttribute( "hidden", true );
  119.     document.getElementById("repeat-custom").setAttribute( "hidden", true );
  120. }
  121.  
  122. function reminderFox_saveRepeat() {
  123.     var reminderEvent = window.arguments[0].reminderfoxEvent;
  124.     
  125.     var repeatIndex = document.getElementById("repeatLength").selectedIndex;
  126.     if ( repeatIndex == 1 ) {
  127.     
  128.         var monthlist = document.getElementById('monthlist');
  129.         var month =monthlist.selectedIndex;
  130.         var daylist = document.getElementById('daylist');
  131.         var day =daylist.label;
  132.         // date  check --- if day is less than month; then set it to proper value
  133.         var yearlist = document.getElementById('yearlist');
  134.         var year = yearlist.label;
  135.         day = reminderFox_getValidDateForMonth( year, month, day );
  136.         var date = new Date( year, month, day );    
  137.         reminderEvent.recurrence.endDate = date;
  138.     }
  139.     else {
  140.         reminderEvent.recurrence.endDate = null;
  141.     }
  142.     
  143.     
  144.     reminderEvent.recurrence.byDay =  null;
  145.     // set recurrence interval
  146.     var repeatList = document.getElementById("reminderFox-repeatList");        
  147.     var repeatingSelectedIndex = repeatList.selectedIndex;
  148.     var recurrenceNum = 0;
  149.     if ( repeatingSelectedIndex == 0 || repeatingSelectedIndex == 1 ) {
  150.         recurrenceNum = document.getElementById("yearsText").value;
  151.     }
  152.     else if ( repeatingSelectedIndex == 2 || repeatingSelectedIndex == 3 ) {        
  153.         recurrenceNum = document.getElementById("monthsText").value;
  154.     }
  155.     else if ( repeatingSelectedIndex == 4 || repeatingSelectedIndex == 5 ) {        
  156.         recurrenceNum = document.getElementById("weeksText").value;
  157.         reminderEvent.recurrence.byDay = "";
  158.         var checked =   document.getElementById("weekly-sun").getAttribute("checked");
  159.         if ( checked == true || checked == "true") {
  160.             if ( reminderEvent.recurrence.byDay != null &&  reminderEvent.recurrence.byDay.length > 0 ) {
  161.                 reminderEvent.recurrence.byDay += ",";
  162.             }
  163.             reminderEvent.recurrence.byDay += "SU";
  164.         }        
  165.         checked =   document.getElementById("weekly-mon").getAttribute("checked");
  166.         if ( checked == true || checked == "true") {
  167.             if ( reminderEvent.recurrence.byDay != null &&  reminderEvent.recurrence.byDay.length > 0 ) {
  168.                 reminderEvent.recurrence.byDay += ",";
  169.             }
  170.             reminderEvent.recurrence.byDay += "MO";
  171.         }
  172.         checked =   document.getElementById("weekly-tue").getAttribute("checked");
  173.         if ( checked == true || checked == "true") {
  174.             if ( reminderEvent.recurrence.byDay != null &&  reminderEvent.recurrence.byDay.length > 0 ) {
  175.                 reminderEvent.recurrence.byDay += ",";
  176.             }
  177.             reminderEvent.recurrence.byDay += "TU";
  178.         }
  179.         checked =   document.getElementById("weekly-wed").getAttribute("checked");
  180.         if ( checked == true || checked == "true") {
  181.             if ( reminderEvent.recurrence.byDay != null &&  reminderEvent.recurrence.byDay.length > 0 ) {
  182.                 reminderEvent.recurrence.byDay += ",";
  183.             }
  184.             reminderEvent.recurrence.byDay += "WE";
  185.         }
  186.         checked =   document.getElementById("weekly-thu").getAttribute("checked");
  187.         if ( checked == true || checked == "true") {
  188.             if ( reminderEvent.recurrence.byDay != null &&  reminderEvent.recurrence.byDay.length > 0 ) {
  189.                 reminderEvent.recurrence.byDay += ",";
  190.             }
  191.             reminderEvent.recurrence.byDay += "TH";
  192.         }
  193.         checked =   document.getElementById("weekly-fri").getAttribute("checked");
  194.         if ( checked == true || checked == "true") {
  195.             if ( reminderEvent.recurrence.byDay != null &&  reminderEvent.recurrence.byDay.length > 0 ) {
  196.                 reminderEvent.recurrence.byDay += ",";
  197.             }
  198.             reminderEvent.recurrence.byDay += "FR";
  199.         }
  200.         checked =   document.getElementById("weekly-sat").getAttribute("checked");
  201.         if ( checked == true || checked == "true") {
  202.             if ( reminderEvent.recurrence.byDay != null &&  reminderEvent.recurrence.byDay.length > 0 ) {
  203.                 reminderEvent.recurrence.byDay += ",";
  204.             }
  205.             reminderEvent.recurrence.byDay += "SA";
  206.         }
  207.     }
  208.     else if ( repeatingSelectedIndex == 6 ) {        
  209.         recurrenceNum = document.getElementById("daysText").value;
  210.     }
  211.     
  212.     try {
  213.         var intervalNum = parseInt(recurrenceNum);
  214.         // only set if more than 1 (we don't care about single occurrences; they are the default)
  215.         if ( intervalNum > 1 ) {
  216.             reminderEvent.recurrence.interval = intervalNum;
  217.         }
  218.         else {
  219.             reminderEvent.recurrence.interval = null;
  220.         }
  221.         
  222.     }
  223.     catch ( e ) {        
  224.     }
  225.     
  226.     var repeatList = document.getElementById("reminderFox-repeatList");
  227.     var selectedIndex = repeatList.selectedIndex;    
  228.     if ( selectedIndex == 0 ) {
  229.         reminderEvent.recurrence.type  = REMINDER_RECURRENCE_YEARLY;
  230.     }
  231.     else     if ( selectedIndex == 1 ) {
  232.         reminderEvent.recurrence.type  = REMINDER_RECURRENCE_YEARLY_DAY;
  233.     }            
  234.     else     if ( selectedIndex == 2 ) {
  235.         reminderEvent.recurrence.type  = REMINDER_RECURRENCE_MONTHLY_DATE;
  236.     }
  237.     else     if ( selectedIndex == 3 ) {
  238.         reminderEvent.recurrence.type  = REMINDER_RECURRENCE_MONTHLY_DAY;            
  239.     }
  240.     else     if ( selectedIndex == 4 || selectedIndex == 5 ) {
  241.         reminderEvent.recurrence.type  = REMINDER_RECURRENCE_WEEKLY;
  242.     }        
  243.     else     if ( selectedIndex == 6 ) {
  244.         reminderEvent.recurrence.type  = REMINDER_RECURRENCE_DAILY;
  245.     }        
  246.     
  247.     window.close();
  248. }
  249.  
  250.  
  251. function repeatChanged() {
  252.     var repeatList = document.getElementById("reminderFox-repeatList");        
  253.     var repeatingSelectedIndex = repeatList.selectedIndex;
  254.     
  255.     if ( repeatingSelectedIndex == 0 || repeatingSelectedIndex == 1 ) {
  256.         document.getElementById("repeatdeck").selectedIndex = 0;
  257.     }
  258.     else if ( repeatingSelectedIndex == 2 || repeatingSelectedIndex == 3 ) {        
  259.         document.getElementById("repeatdeck").selectedIndex = 1;    
  260.     }
  261.     else if ( repeatingSelectedIndex == 4 || repeatingSelectedIndex == 5 ) {        
  262.         document.getElementById("repeatdeck").selectedIndex = 2;    
  263.     }
  264.     else if ( repeatingSelectedIndex == 6 ) {        
  265.         document.getElementById("repeatdeck").selectedIndex = 3;    
  266.     }
  267.     
  268. }